package com.waypolice.mapper.handwriting;

import com.waypolice.pojo.CmsBorRegister;
import com.waypolice.pojo.vo.CmsBorRegisterVo;

import java.util.List;
import java.util.Map;

/**
 * @Author: zyp
 * @Description: 借阅登记扩展mapper接口
 * @Date: Created in 8:39 2018/4/27
 */
public interface CmsBorRegisterExtMapper {

    /**
     * 获取授权的列表
     * @param parameterMap
     * @return
     */
    List<Map<String, String>> getBorrowMy(Map<String, Object> parameterMap);
    
    /**
     * @author:zyp
     * @description 获取个人授权的列表的数量
     * @date: 2019/3/21 18:53
     * @return 
     */
    int coutBorrowMy(Map<String, Object> parameterMap);

    /**
     * 通过id获取对象
     * @param id
     * @return
     */
    CmsBorRegisterVo getBorRegisterVoById(long id);

    /**
     * @author zyp
     * @description 插入登记表记录，同时查找id
     * @date 2018/5/8 9:38
     * @param
     * @return
     */
    void insertSelectId(CmsBorRegister cmsBorRegister);

    /**
     * @author:zyp
     * @description 根据任务类型查出当天的登记数量
     * @date: 2019/3/25 15:08
     * @return 
     */
    int countByTaskType(Map<String, Object> parameterMap);

    /**
     * @author zyp
     * @description 查询登记表由未借出变成已失效的登记list
     * @date 2018/5/18 9:29
     * @param
     * @return
     */
    List<CmsBorRegister> selectBorStatus0To2();

    /**
     * @author zyp
     * @description 将逾期的线下借阅文章，状态修改为已失效
     * @date 2018/5/18 10:11
     * @param
     * @return
     */
    void updateBorStatus0To2(List<Long> ids);
    
    /**
     * @author:zyp
     * @description 修改检索过期数据状态为3
     * @date: 2019/5/31 10:42
     * @return 
     */
    void updateSearchStatusTo3();

    /**
     * @author:zyp
     * @description 通过用户id获取线下已过期的借阅档案的数量
     * @date: 2018/6/22 9:17
     * @return
     */
    int getExpireNumByUserId(Long borId);

    /**
     * @author:zyp
     * @description 借阅登记记录
     * @date: 2019/3/12 16:41
     * @return
     */
    List<Map<String,String>> getRegisterList(Map<String,String> search);
    
    /**
     * @author:zyp
     * @description 查看当前列表登记数量
     * @date: 2019/3/19 11:02
     * @return 
     */
    int countRegisterList(Map<String,String> search);

    /**
     * @author:zyp
     * @description 按条件查询所得的总条数
     * @date: 2019/3/12 16:41
     * @return
     */
    List<Object> getRegisterListTotal();


    /**
     * @author:zyp
     * @description 按条件查询所得的总条数
     * @date: 2019/3/12 16:41
     * @return
     */
    int getCountBorReturnList();

    /**
     * @author:zyp
     * @description 根据登录id获取（卷）件的信息
     * @date: 2019/3/20 10:54
     * @return
     */
    List<Map<String, String>> getFileInfoByRegistId(Long registerId);
   
    /**
     * @author:zyp
     * @description 获取线下借阅的文件数据列表
     * @date: 2019/3/20 18:37
     * @return 
     */
    List<Map<String, String>> getBorrowReturnList();

    /**
     * @author:zyp
     * @description 查找我的历史审批记录 包含所以我审批的所有流程显示
     * @date: 2019/3/22 15:21
     * @return 
     */
    CmsBorRegisterVo getMyAuditRegister(Map<String,Object> parameterMap);

    /**
     * @author:zyp
     * @description 根据登录id 以及针对性获取各流程的数据（借阅流程、检索流程）
     * @date: 2019/3/22 15:21
     * @return
     */
    CmsBorRegisterVo getBorRegisterVoByIdAndActType(Map<String,Object> parameterMap);
    
    /**
     * @author:zyp
     * @description 获取检索登记数据
     * @date: 2019/3/29 9:19
     * @return 
     */
    List<CmsBorRegister> getSearchRegister();
    
    /**
     * @author:zyp
     * @description 获取检索登记数据数量
     * @date: 2019/3/29 9:43
     * @return 
     */
    int countSearchRegister();

    /**
     * @author:zyp
     * @description 获取卷的统计情况（档案利用）
     * @date: 2019/4/1 13:41
     * @return 
     */
    List<Map<String,Object>> getVolCount(Map<String,Object> parameterMap);
    
    /**
     * @author:zyp
     * @description 获取件的统计情况
     * @date: 2019/4/1 13:42
     * @return 
     */
    List<Map<String,Object>> getItemCount(Map<String,Object> parameterMap);

    /**
     * @author:zyp
     * @description 根据借阅id 获取借阅的文件信息内容
     * @date: 2019/4/18 16:41
     * @return 
     */
    List<Map<String, String>> getBorrowInfoByBorId(Long registerId);

    /**
     * @author:zyp
     * @description 根据借阅id 获取借阅的文件信息内容（获取统计数量）
     * @date: 2019/4/18 16:41
     * @return
     */
    int getCountBorrowInfoByBorId(Long registerId);
}